package com.clouddisk.user.service;

import com.clouddisk.user.dto.UserDTO;
import com.clouddisk.user.dto.UserLoginDTO;
import com.clouddisk.user.dto.UserRegisterDTO;

public interface UserService {
    
    /**
     * 用户注册
     *
     * @param registerDTO 注册信息
     * @return 用户信息
     */
    UserDTO register(UserRegisterDTO registerDTO);
    
    /**
     * 用户登录
     *
     * @param loginDTO 登录信息
     * @return JWT token
     */
    String login(UserLoginDTO loginDTO);
    
    /**
     * 获取用户信息
     *
     * @param id 用户ID
     * @return 用户信息
     */
    UserDTO getUserInfo(Long id);
    
    /**
     * 更新用户已使用存储空间
     *
     * @param id 用户ID
     * @param size 变化的空间大小（字节），正数表示增加，负数表示减少
     * @return 更新后的用户信息
     */
    UserDTO updateUsedStorage(Long id, Long size);
} 